package jnpf.model.dify.talk.resp;

import lombok.Data;

import java.util.Date;

/**
 * dify返回内容，用于message_end类型的接收
 */
@Data
// 表示消息结束事件的实体类
public class DifyEndResp {
    // 事件类型，这里固定为 "message_end"
    private String event;
    // 对话的唯一标识符
    private String conversation_id;
    // 消息的唯一标识符
    private String message_id;
    // 事件创建的时间戳
    private Date created_at;
    // 任务的唯一标识符
    private String task_id;
    // 消息的唯一标识符，与 message_id 可能重复
    private String id;
    // 包含使用情况信息的元数据
    private UsageMetadata metadata;
    // 答复内容
    private String answer;

    @Data
    // 表示使用情况元数据的内部类
    public static class UsageMetadata {
        // 提示词的令牌数量
        private int prompt_tokens;
        // 提示词的单价
        private double prompt_unit_price;
        // 提示词的价格单位
        private double prompt_price_unit;
        // 提示词的价格
        private double prompt_price;
        // 完成内容的令牌数量
        private int completion_tokens;
        // 完成内容的单价
        private double completion_unit_price;
        // 完成内容的价格单位
        private double completion_price_unit;
        // 完成内容的价格
        private double completion_price;
        // 总令牌数量
        private int total_tokens;
        // 总价格
        private double total_price;
        // 货币类型
        private String currency;
        // 延迟时间
        private double latency;
    }

}
